package cn.tedu.cgb2110boot02.filter;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;

@WebFilter("/*")
public class Filter1 implements Filter {
    //三大阶段:初始化  服务  销毁
    //关闭服务器时,会自动触发, 只调用一次
    public void destroy() {
        System.out.println("Filter1...destroy");
    }
    //核心方法,主要用来配置过滤器的过滤规则,可以判断是否放行
    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
        System.out.println("Filter1...doFilter");
        //Filter用处: 解决了所有Servlet的共性需求--处理中文乱码（权限 ，缓存 ，日志）
        resp.setContentType("text/html;charset=utf8");
        chain.doFilter(req, resp);//放行请求，可以访问目标资源
    }
    //启动项目时,就被主动加载了所有的过滤器, 只调用一次
    public void init(FilterConfig config) throws ServletException {
        System.out.println("Filter1...init");
    }

}
